#include<bits/stdc++.h>
using namespace std;


void solve(string& t){
    int n=t.size();
    vector<char> s(n*2+1,'#');
    for(int i=0;i<n;i++){
        s[i*2+1]=t[i];
    }

    vector<int> r(n*2+1);
    int res=1;
    int rc=-1,rr=-1;
    for(int i=0;i<s.size();i++){
        int temp=i<rr?min(r[rc*2-i],rr-i):1;
        while(i+temp<s.size()&&i-temp>=0){
            if(s[i+temp]==s[i-temp])temp++;
            else break;
        }
        r[i]=temp;
        if(i+temp>rr){
            rc=i;
            rr=i+temp;
        }
        if(i+temp-1==(int)s.size()-1){
            res=r[i]-1;
            break;
        }
    }
    for(int i=0;i<n;i++)cout<<t[i];
    for (int i = n - res-1; i >= 0; --i) cout<<t[i];
    cout<<'\n';
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    string s;
    while(cin>>s){
        solve(s);
    }
}